package fr.afcepf.al23.qualite.business;

import fr.afcepf.al23.qualite.entity.Utilisateur;
import fr.afcepf.al23.qualite.exceptions.QualityException;
/**
 * Classe contenant les règles de gestion
 * pour les traitements sur l'utilisateur.
 * @author Stagiaire
 *
 */
public interface IBusinessUtilisateur {
    /**
     * Methode permettant l'enregistrement d'un utilisateur.
     * @param user l'utilisateur a enregistrer.
     * @return un objet {@link Utilisateur} avec sa cle primaire si enregistrement a fonctionne.
     * @throws QualityException si utilisateur a enregistrer posssede une adresse mail deja existante dans le SI.
     */
    Utilisateur enregistrer(Utilisateur user) throws QualityException;
    /**
     * Methode permettant de verifier si l'email
     * d'un utilisateur existe dej dans la BDD.
     * @param mail de utilisateur.
     * @return un objet {@link Utilisateur} avec sa cle primaire si verification a fonctionne.
     */
    Utilisateur verifMail(String mail);
}
